import sysPath from "path"

exports.favicons = [
  {
    src: `favicon-32x32.png`,
    sizes: `32x32`,
    type: `image/png`,
  },
]

// default icons for generating icons
exports.defaultIcons = [
  {
    src: `icons/icon-48x48.png`,
    sizes: `48x48`,
    type: `image/png`,
  },
  {
    src: `icons/icon-72x72.png`,
    sizes: `72x72`,
    type: `image/png`,
  },
  {
    src: `icons/icon-96x96.png`,
    sizes: `96x96`,
    type: `image/png`,
  },
  {
    src: `icons/icon-144x144.png`,
    sizes: `144x144`,
    type: `image/png`,
  },
  {
    src: `icons/icon-192x192.png`,
    sizes: `192x192`,
    type: `image/png`,
  },
  {
    src: `icons/icon-256x256.png`,
    sizes: `256x256`,
    type: `image/png`,
  },
  {
    src: `icons/icon-384x384.png`,
    sizes: `384x384`,
    type: `image/png`,
  },
  {
    src: `icons/icon-512x512.png`,
    sizes: `512x512`,
    type: `image/png`,
  },
]

/**
 * @param {string} path The generic path to an icon
 * @param {string} digest The digest of the icon provided in the plugin's options.
 */
exports.addDigestToPath = function (path, digest, method) {
  if (method === `name`) {
    const parsedPath = sysPath.parse(path)

    return `${parsedPath.dir}/${parsedPath.name}-${digest}${parsedPath.ext}`
  }

  if (method === `query`) {
    return `${path}?v=${digest}`
  }

  return path
}
